using Mvc.Mailer;
using System.Linq;
using System.Collections.Generic;
using System.Web.UI.WebControls;
using System.Data;
using MvcLibrary.Repository;
namespace WebVideo.Mailers
{
    public class UserMailer : MailerBase, IUserMailer
    {
        public UserMailer()
        {
            MasterName = "_Layout";
        }

        public virtual MvcMailMessage KichHoat(string User)
        {
            //ViewBag.Data = someObject;
            Security ser = new Security();

            dbVideoDataContext db = new dbVideoDataContext();
            EntityUser tnew = db.EntityUsers.Where(p => p.UserName == User).Single();
            //ViewBag.Data = someObject;
            string link = "http://yeuquangcao.com/LoginUser/KH?User=" + ser.GetHashLink(tnew.UserName);
            return Populate(x =>
            {
                x.Subject = "Xác nhận đăng ký ";
                x.ViewName = "Welcome to website";
                x.IsBodyHtml = true;
                x.Body = " Chào mừng bạn đến hệ thống kích hoạt tài khoản ! <br /> Nhấp vào link dưới đây để kich hoạt : <br /><br /><br />" + "<a href='" + @link + "'>" + @link + "</a><br /><br /> Chúc bạn một ngày vui vẻ !";
                x.To.Add(tnew.Email);
            });
        }
        public virtual MvcMailMessage ReportView(int IdV)
        {
            //ViewBag.Data = someObject;
            Security ser = new Security();

            dbVideoDataContext db = new dbVideoDataContext();
            EntityVideo tnew = db.EntityVideos.Where(p => p.Id == IdV).First();
            //ViewBag.Data = someObject;
            string name = tnew.Name;
            int? view = tnew.Viewed;
            string company = tnew.EntityBusiness.CompanyName;
            return Populate(x =>
            {
                x.Subject = "[Video Ads] - Báo cáo hết hạn của VIDEO ";
                x.ViewName = "Báo cáo hết hạn của VIDEO";
                x.IsBodyHtml = true;
                x.Body = " Chào bạn ! <br /> Hiện tại số lượt view của video đã hết , xin vui lòng liên hệ quản trị để được gia hạn hoặc giúp đỡ thêm !  <br /><br />Chi tiết video : <br />" + "Tên video : " + @name + "<br />Tên doanh nghiệp đăng : " + @company + "<br />Số lượt view của video : " + @view + "<br /><br /> Chúc bạn một ngày vui vẻ !";
                x.To.Add(tnew.EntityBusiness.Email);
            });
        }
        public virtual MvcMailMessage ReportView2(int IdV)
        {
            //ViewBag.Data = someObject;
            Security ser = new Security();

            dbVideoDataContext db = new dbVideoDataContext();
            EntityVideo tnew = db.EntityVideos.Where(p => p.Id == IdV).First();
            //ViewBag.Data = someObject;
            string name = tnew.Name;
            int? viewed = tnew.Viewed;
            int? view = tnew.Views;
            string company = tnew.EntityBusiness.CompanyName;
            return Populate(x =>
            {
                x.Subject = "[Video Ads] - Báo cáo hết hạn của VIDEO ";
                x.ViewName = "Báo cáo hết hạn của VIDEO";
                x.IsBodyHtml = true;
                x.Body = " Chào bạn ! <br /> Hiện tại số lượt view của video chỉ còn 100 lượt view , xin vui lòng liên hệ quản trị để được gia hạn hoặc giúp đỡ thêm !  <br /><br />Chi tiết video : <br />" + "Tên video : " + @name + "<br />Tên doanh nghiệp đăng : " + @company + "<br />Số lượt view của video : " + @view + "<br /> Số lượt đã xem video :" + @viewed + "<br /><br /> Chúc bạn một ngày vui vẻ !";
                x.To.Add(tnew.EntityBusiness.Email);
            });

        }
        public virtual MvcMailMessage KhoiPhucmk(string Email)
        {
            Security ser = new Security();
            dbVideoDataContext db = new dbVideoDataContext();
            var query = db.EntityUsers.Where(g => g.Email == Email);
            var query1 = db.EntityBusinesses.Where(g => g.Email == Email);
            if (query.ToList().Count > 0)
            {
                string link = "http://yeuquangcao.com/LoginUser/KPMK?User=" + ser.GetHashLink(query.First().UserName);
                return Populate(x =>
                {
                    x.Subject = "[Video Ads] - Khôi phục mật khẩu";
                    x.ViewName = "[Video Ads] - Khôi phục mật khẩu";
                    x.IsBodyHtml = true;
                    x.Body = " Chào mừng bạn đến hệ thống khôi phục mật khẩu ! <br /> Nhấp vào link dưới đây để khôi phục mật khẩu : <br /><br /><br />" + "<a href='" + @link + "'>" + @link + "</a><br /><br /> Chúc bạn một ngày vui vẻ !";
                    x.To.Add(query.First().Email);
                });
            }
            else
            {
                string link = "http://yeuquangcao.com/LoginUser/KPMK1?User=" + ser.GetHashLink(query1.First().UserName);
                return Populate(x =>
                {
                    x.Subject = "[Video Ads] - Khôi phục mật khẩu";
                    x.ViewName = "[Video Ads] - Khôi phục mật khẩu";
                    x.IsBodyHtml = true;
                    x.Body = " Chào mừng bạn đến hệ thống khôi phục mật khẩu ! <br /> Nhấp vào link dưới đây để khôi phục mật khẩu : <br /><br /><br />" + "<a href='" + @link + "'>" + @link + "</a><br /><br /> Chúc bạn một ngày vui vẻ !";
                    x.To.Add(query1.First().Email);
                });
            }
            //ViewBag.Data = someObject;

        }
        public virtual MvcMailMessage GuiMaXacNhan(int IdVideo, int LuotView)
        {

            dbVideoDataContext db = new dbVideoDataContext();
            EntityVideo query = db.EntityVideos.Where(g => g.Id == IdVideo).First();
            string ma = "";
            ma = IdVideo.ToString() + "&" + LuotView.ToString() + "&" + query.Video.ToString();
            return Populate(x =>
            {
                x.Subject = "[Video Ads] - Mã xác nhận gia hạn lượt view video " + query.Name.ToString();
                x.ViewName = "[Video Ads] - Mã xác nhận gia hạn lượt view video";
                x.IsBodyHtml = true;
                x.Body = "Bạn copy đoạn mã dưới đây dán vào trang web để hoàn thành việc gia hạn <br/>Mã: " + ma;
                x.To.Add(query.EntityBusiness.Email);
            });
        }
        public virtual MvcMailMessage GuiThongBaoGiaHanThanhCong(int IdVideo, int LuotView)
        {
            dbVideoDataContext db = new dbVideoDataContext();
             EntityVideo query   = db.EntityVideos.Where(g => g.Id == IdVideo).First();
              string ma = "";
            ma = IdVideo.ToString() + "&" + LuotView.ToString() + "&" + query.Video.ToString();
            return Populate(x =>
            {
                x.Subject = "[Video Ads] - Bạn vừa gia hạn thành công cho mã xác nhận " + ma ;
                x.ViewName = "[Video Ads] - Mã xác nhận gia hạn lượt view video";
                x.IsBodyHtml = true;
                x.Body = "Bạn vừa gia hạn thành công thêm " + LuotView.ToString() + " lượt view cho video " + query.Name.ToString();
                x.To.Add(query.EntityBusiness.Email);
            });
        }
        public virtual MvcMailMessage Doidiemthuong(string mail,int sotien, string name, string taikhoan,string nganhang)
        {
            dbVideoDataContext db = new dbVideoDataContext();

            return Populate(x =>
            {
                x.Subject = "[Video Ads] - Thông báo bạn đã được đổi điểm thưởng thành công ! ";
                x.ViewName = "[Video Ads] - Thông báo bạn đã được đổi điểm thưởng thành công !";
                x.IsBodyHtml = true;
                x.Body = "Xin chào " +name.ToString() +" !<br />"+"Bạn vừa nhận được số tiền đổi điểm là  " + sotien.ToString() + " nghìn đồng  vào số tài khoản : " + taikhoan.ToString() + "  của ngân hàng " + nganhang.ToString() +" của bạn ! <br /> Chúc bạn có một ngày vui vẻ ! <br /> http://yeuquangcao.com";
                x.To.Add(mail);
            });
        }

    }
}